#include<memory.h>
#include<stdio.h>
// algoritmo per sapere la dimensione della memoria
unsigned long int size_ram() {
	//long flags;
	//save_eflag(flags);
	//asm("cli");
	//printk("Salvo i flags!\n");
	unsigned long int *mem_current = (unsigned long int *)0x100000;	// il primo mb di ram  
	//printk("Al primo MB di memoria!\n");
	while(1) {
		*mem_current = 0xAA55AA55;
		asm("": : :"memory");
		if(*mem_current == 0xAA55AA55) {
			//printn(mem_current); newk();
			mem_current = mem_current + 1024; 
		} else break; 
	}
	//printk("DP il conteggio della ram!");
	unsigned int total_memory=(unsigned int)mem_current;
	//restore_eflag(flags);
	//asm("sti");
	return total_memory;
}

// NOTA: a 4mb succede un interrupt 15.. (Intel Reserved) ???
// Ultima nota annullata. calcola il totale dalla ram, ma rilascio un NMI o COPROCESSOR NOT FOUND.
